With the rapid growth in the use of computers and computer software in recent years, software developers have developed applications that are used by a wide variety of users in business, education and leisure. Software applications are used for creating, displaying and utilizing text and data according to a great number of spoken languages. Some spoken languages such as English are read from left-to-right and are typically displayed or printed in a left alignment. Other languages such as Arabic and Hebrew and a number of Asian languages are read from right-to-left and are typically displayed or printed in a right alignment. Prior software applications may be caused to render text according to a reading order and alignment associated with a given language.
A problem exists, however, when text is rendered in a multi-lingual environment. For example, if a memorandum is prepared using a word processing application containing some sentences or paragraphs in English and some sentences or paragraphs in Arabic, a word processing application likely will align the English language text to the left and the Arabic language text to the right. When the rendered text is displayed or printed, an unsatisfactory user experience results. Likewise, if the word processing application, for example, does not recognize that the text is to be displayed according to two different spoken languages having two different text reading orders, the text reading order for one of the two displayed texts may be displayed incorrectly. For another example, if an electronic mail is sent to a recipient containing text entered by the sender according to multiple languages, for example English and Hebrew, the recipient electronic mail application likely will display the English language portion of the mail according to a left-to-right reading order and left alignment and the Hebrew language portion of the mail according to a right-to-left reading order and right alignment.
It is with respect to these and other considerations that the present invention has been made.